# Pandas 通过 concat() 函数能够轻松地将 Series 与 DataFrame 对象组合在一起
import pandas as pd

# objs	一个序列或者是Series、DataFrame对象。
# axis	表示在哪个轴方向上（行或者列）进行连接操作，默认 axis=0 表示行方向。
# join	指定连接方式，取值为{"inner","outer"}，默认为 outer 表示取并集，inner代表取交集。
# ignore_index	布尔值参数，默认为 False，如果为 True，表示不在连接的轴上使用索引。
# join_axes	表示索引对象的列表。

a = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                  'B': ['B0', 'B1', 'B2', 'B3'],
                  'C': ['C0', 'C1', 'C2', 'C3'],
                  'D': ['D0', 'D1', 'D2', 'D3']},
                 index=[0, 1, 2, 3])
b = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                  'B': ['B4', 'B5', 'B6', 'B7'],
                  'C': ['C4', 'C5', 'C6', 'C7'],
                  'D': ['D4', 'D5', 'D6', 'D7']},
                 index=[2, 3, 4, 5])
# 连接a与b
print(pd.concat([a, b]))
#     A   B   C   D
# 0  A0  B0  C0  D0
# 1  A1  B1  C1  D1
# 2  A2  B2  C2  D2
# 3  A3  B3  C3  D3
# 2  A4  B4  C4  D4
# 3  A5  B5  C5  D5
# 4  A6  B6  C6  D6
# 5  A7  B7  C7  D7

# 沿着 axis=1，连接a与b
print(pd.concat([a, b], axis=1))
#      A    B    C    D    A    B    C    D
# 0   A0   B0   C0   D0  NaN  NaN  NaN  NaN
# 1   A1   B1   C1   D1  NaN  NaN  NaN  NaN
# 2   A2   B2   C2   D2   A4   B4   C4   D4
# 3   A3   B3   C3   D3   A5   B5   C5   D5
# 4  NaN  NaN  NaN  NaN   A6   B6   C6   D6
# 5  NaN  NaN  NaN  NaN   A7   B7   C7   D7


# append() 如果要连接 Series 和 DataFrame 对象，有一个最方便、快捷的方法
print(a.append(b))
